package cn.gjxblog.common.utils;

import java.util.concurrent.ThreadLocalRandom;

/**
 * @author gjx
 * @version v1.0
 * @Description
 * @date 2019/4/24 9:46
 */
public class RandomUtils {
        private static ThreadLocalRandom getRandom() {
            return ThreadLocalRandom.current();

        }

        /**
         * 获得一个[0,max)之间的随机整数。
         * @param max 最大值（不包括）
         * @return 一个[0,max)之间的随机整数
         */
        public static int getRandomInt(int max) {
            return getRandom().nextInt(max);
        }

        /**
         * 生成一个含有n位随机数字的字符串，用于验证码等
         * @param n 位数
         * @return 含有n位数字的一个String
         */
        public static String getRandNumberStr(int n) {
            StringBuilder s = new StringBuilder(n);
            for (int i = 0; i < n; i++) {
                s.append(getRandomInt(10)); //随机获取一个0~9之间的数
            }
            return s.toString();
        }

        public static void main(String[] args) throws Exception {
            System.out.println(getRandNumberStr(6));
            System.out.println(getRandNumberStr(5));
            System.out.println(getRandNumberStr(4));
            System.out.println(getRandNumberStr(10));
        }
    }



